package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单对象 sys_order
 * 
 * @author ruoyi
 * @date 2022-01-19
 */
public class SysOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 商家订单号 */
    @Excel(name = "商家订单号")
    private String storeOrderNo;

    /** 系统订单号 */
    @Excel(name = "系统订单号")
    private String sysOrderNo;

    /** 渠道订单号 */
    @Excel(name = "渠道订单号")
    private String channelOrderNo;

    /** 1=深圳市盈华讯方通信技术有限公司 2=欧飞 */
    private Integer realRechargePlat;

    /** 商户_名称 */
    @Excel(name = "商户名称")
    private String storeName;

    /** 商户_编号 */
    @Excel(name = "商户编号")
    private String storeCode;

    /** 渠道_编号 */
    @Excel(name = "渠道编号")
    private String channelCode;

    /** 渠道_名称 */
    @Excel(name = "渠道名称")
    private String channelName;

    /** 充值号码 */
    @Excel(name = "充值号码")
    private String userMobile;

    /** 充值金额 */
    @Excel(name = "充值金额")
    private BigDecimal userAmount;

    /** 运营商 */
    @Excel(name = "运营商")
    private String operator;

    /** 商家下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "商家下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date storeOrderTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date orderFinishTime;

    /** 渠道发起时间 */
    private Date channelStartTime;

    /** 渠道响应时间 （秒） */
    @Excel(name = "渠道响应时间 ")
    private Long channelResultTime;

    /** 渠道失败回执时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date channelErrorTime;

    /** 订单状态 */
    @Excel(name = "订单状态", dictType = "sys_order_status")
    private Integer sysOrderStatus;

    /** （走接口）是否渠道充值失败 0=未调接口 1=成功 2=失败 */
    private Integer sysOrderStatusApi;

    /** 处理状态 */
    @Excel(name = "处理状态", dictType = "manua_do_status")
    private Integer manuaDoStatus;

    /** 撤单操作 */
    private Integer cancelOrderStatus;

    /** 补单操作 */
    private Integer repairOrderStatus;

    /** 错误码 */
    private String errorMsg;


    /** 批次号 */
    private String batchNo;

    /** 已经充值过的平台 如：1,2, */
    private String hasRechargePlat;



    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setStoreOrderNo(String storeOrderNo) 
    {
        this.storeOrderNo = storeOrderNo;
    }

    public String getStoreOrderNo() 
    {
        return storeOrderNo;
    }
    public void setSysOrderNo(String sysOrderNo) 
    {
        this.sysOrderNo = sysOrderNo;
    }

    public String getSysOrderNo() 
    {
        return sysOrderNo;
    }
    public void setChannelOrderNo(String channelOrderNo) 
    {
        this.channelOrderNo = channelOrderNo;
    }

    public String getChannelOrderNo() 
    {
        return channelOrderNo;
    }
    public void setRealRechargePlat(Integer realRechargePlat) 
    {
        this.realRechargePlat = realRechargePlat;
    }

    public Integer getRealRechargePlat() 
    {
        return realRechargePlat;
    }
    public void setStoreName(String storeName) 
    {
        this.storeName = storeName;
    }

    public String getStoreName() 
    {
        return storeName;
    }
    public void setStoreCode(String storeCode) 
    {
        this.storeCode = storeCode;
    }

    public String getStoreCode() 
    {
        return storeCode;
    }
    public void setChannelCode(String channelCode) 
    {
        this.channelCode = channelCode;
    }

    public String getChannelCode() 
    {
        return channelCode;
    }
    public void setChannelName(String channelName) 
    {
        this.channelName = channelName;
    }

    public String getChannelName() 
    {
        return channelName;
    }
    public void setUserMobile(String userMobile) 
    {
        this.userMobile = userMobile;
    }

    public String getUserMobile() 
    {
        return userMobile;
    }
    public void setUserAmount(BigDecimal userAmount) 
    {
        this.userAmount = userAmount;
    }

    public BigDecimal getUserAmount() 
    {
        return userAmount;
    }
    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }
    public void setStoreOrderTime(Date storeOrderTime) 
    {
        this.storeOrderTime = storeOrderTime;
    }

    public Date getStoreOrderTime() 
    {
        return storeOrderTime;
    }
    public void setOrderFinishTime(Date orderFinishTime) 
    {
        this.orderFinishTime = orderFinishTime;
    }

    public Date getOrderFinishTime() 
    {
        return orderFinishTime;
    }
    public void setChannelStartTime(Date channelStartTime) 
    {
        this.channelStartTime = channelStartTime;
    }

    public Date getChannelStartTime() 
    {
        return channelStartTime;
    }
    public void setChannelResultTime(Long channelResultTime) 
    {
        this.channelResultTime = channelResultTime;
    }

    public Long getChannelResultTime() 
    {
        return channelResultTime;
    }
    public void setChannelErrorTime(Date channelErrorTime) 
    {
        this.channelErrorTime = channelErrorTime;
    }

    public Date getChannelErrorTime() 
    {
        return channelErrorTime;
    }
    public void setSysOrderStatus(Integer sysOrderStatus) 
    {
        this.sysOrderStatus = sysOrderStatus;
    }

    public Integer getSysOrderStatus() 
    {
        return sysOrderStatus;
    }
    public void setManuaDoStatus(Integer manuaDoStatus) 
    {
        this.manuaDoStatus = manuaDoStatus;
    }

    public Integer getManuaDoStatus() 
    {
        return manuaDoStatus;
    }
    public void setCancelOrderStatus(Integer cancelOrderStatus) 
    {
        this.cancelOrderStatus = cancelOrderStatus;
    }

    public Integer getCancelOrderStatus() 
    {
        return cancelOrderStatus;
    }
    public void setRepairOrderStatus(Integer repairOrderStatus) 
    {
        this.repairOrderStatus = repairOrderStatus;
    }

    public Integer getRepairOrderStatus() 
    {
        return repairOrderStatus;
    }
    public void setErrorMsg(String errorMsg) 
    {
        this.errorMsg = errorMsg;
    }

    public String getErrorMsg() 
    {
        return errorMsg;
    }

    public Integer getSysOrderStatusApi() {
        return sysOrderStatusApi;
    }

    public void setSysOrderStatusApi(Integer sysOrderStatusApi) {
        this.sysOrderStatusApi = sysOrderStatusApi;
    }

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    public String getHasRechargePlat() {
        return hasRechargePlat;
    }

    public void setHasRechargePlat(String hasRechargePlat) {
        this.hasRechargePlat = hasRechargePlat;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("storeOrderNo", getStoreOrderNo())
            .append("sysOrderNo", getSysOrderNo())
            .append("channelOrderNo", getChannelOrderNo())
            .append("realRechargePlat", getRealRechargePlat())
            .append("storeName", getStoreName())
            .append("storeCode", getStoreCode())
            .append("channelCode", getChannelCode())
            .append("channelName", getChannelName())
            .append("userMobile", getUserMobile())
            .append("userAmount", getUserAmount())
            .append("operator", getOperator())
            .append("storeOrderTime", getStoreOrderTime())
            .append("orderFinishTime", getOrderFinishTime())
            .append("channelStartTime", getChannelStartTime())
            .append("channelResultTime", getChannelResultTime())
            .append("channelErrorTime", getChannelErrorTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("sysOrderStatus", getSysOrderStatus())
            .append("sysOrderStatusApi", getSysOrderStatusApi())
            .append("manuaDoStatus", getManuaDoStatus())
            .append("cancelOrderStatus", getCancelOrderStatus())
            .append("repairOrderStatus", getRepairOrderStatus())
            .append("errorMsg", getErrorMsg())
            .append("batchNo", getBatchNo())
            .append("hasRechargePlat", getHasRechargePlat())

            .toString();
    }
}
